126 research outputs found

    Towards Testing and Analysis of Systems that Use Serialization

    Get PDF
    AbstractObject serialization facilitates the flattening of structured objects into byte streams and is therefore important for all component-based applications that strongly rely on data-exchange among components. Unfortunately, implementing and controlling the serialization mechanisms may expose the software to subtle faults. This paper paves the way towards testing and analysis techniques specifically tailored to the assessment of software that uses serialization. In particular, we introduce a taxonomy of abstractions and terms to semantically characterize and classify the main data-exchange cases, which serialization can be involved with. The resulting conceptual framework provides a means to forecast how erroneous implementations of serialization would look like in different cases, thus enabling the focusing of testing and analysis techniques to address serialization-related faults

    Test generation for high coverage with abstraction refinement and coarsening (ARC)

    Get PDF
    Testing is the main approach used in the software industry to expose failures. Producing thorough test suites is an expensive and error prone task that can greatly benefit from automation. Two challenging problems in test automation are generating test input and evaluating the adequacy of test suites: the first amounts to producing a set of test cases that accurately represent the software behavior, the second requires defining appropriate metrics to evaluate the thoroughness of the testing activities. Structural testing addresses these problems by measuring the amount of code elements that are executed by a test suite. The code elements that are not covered by any execution are natural candidates for generating further test cases, and the measured coverage rate can be used to estimate the thoroughness of the test suite. Several empirical studies show that test suites achieving high coverage rates exhibit a high failure detection ability. However, producing highly covering test suites automatically is hard as certain code elements are executed only under complex conditions while other might be not reachable at all. In this thesis we propose Abstraction Refinement and Coarsening (ARC), a goal oriented technique that combines static and dynamic software analysis to automatically generate test suites with high code coverage. At the core of our approach there is an abstract program model that enables the synergistic application of the different analysis components. In ARC we integrate Dynamic Symbolic Execution (DSE) and abstraction refinement to precisely direct test generation towards the coverage goals and detect infeasible elements. ARC includes a novel coarsening algorithm for improved scalability. We implemented ARC-B, a prototype tool that analyses C programs and produces test suites that achieve high branch coverage. Our experiments show that the approach effectively exploits the synergy between symbolic testing and reachability analysis outperforming state of the art test generation approaches. We evaluated ARC-B on industry relevant software, and exposed previously unknown failures in a safety-critical software component

    Stochastic models for phytoplankton dynamics in marine ecosystems

    Get PDF
    In this thesis, the stochastic advection-reaction-diffusion models are analyzed to obtain the vertical stationary spatial distributions of the main groups of picophytoplankton, which account about for 80% of total chlorophyll on average in Mediterranean Sea. In Chapter 1 we give a short presentation of the experimental and phytoplanktonic data collected during different oceanographic surveys in Mediterranean Sea. In Chapter 2 we introduce the deterministic and stochastic approaches (one-population model) adopted to describe the picoeukaryotes dynamics in Sicily Channel. Moreover, numerical results for the biomass concentration are compared with experimental data by using chi-squared goodness-of-fit test. In Chapter 3 we modify the previous one-population model to study the population dynamics of two picophytoplankton groups, i.e. picoeukaryotes and picoprokaryotes (Prochlorococcus). The agreement between theoretical results and experimental findings is checked by using two comparative methods: chi-squared goodness-of-fit test and Kolmogorov-Smirnov (K-S) test. In Chapter 4 we introduce a deterministic model used to perform the spatio-temporal analysis of five picophytoplankton species sampled in a site of the Tyrrhenian Sea: numerical results are compared with experimental data acquired during different oceanographic surveys in the period from 24 November 2006 to 9 June 2007. The models investigated in the chapters 2, 3 and 4, show that real distributions are well reproduced by theoretical profiles. Specifically, position, shape and magnitude of the theoretical deep chlorophyll maximum exhibit a good agreement with the experimental values. Finally, conclusions and future prospects of this thesis are discussed

    Self-Test Components for Highly Reconfigurable Systems

    Get PDF
    Abstract Verification of component-based systems presents new challenges not yet completely addressed by existing testing techniques. This paper proposes a new approach for automatically testing highly reconfigurable component-based systems, i.e., systems that can be obtained by changing some components. The paper presents an industrial case that motivates our research and proposes a testing infrastructure that tracks run-time information for components. The collected information is used for automatic testing new versions of existing components and new configurations of existing systems

    Automatically Generating Test Cases for Safety-Critical Software via Symbolic Execution

    Full text link
    Automated test generation based on symbolic execution can be beneficial for systematically testing safety-critical software, to facilitate test engineers to pursue the strict testing requirements mandated by the certification standards, while controlling at the same time the costs of the testing process. At the same time, the development of safety-critical software is often constrained with programming languages or coding conventions that ban linguistic features which are believed to downgrade the safety of the programs, e.g., they do not allow dynamic memory allocation and variable-length arrays, limit the way in which loops are used, forbid recursion, and bound the complexity of control conditions. As a matter of facts, these linguistic features are also the main efficiency-blockers for the test generation approaches based on symbolic execution at the state of the art. This paper contributes new evidence of the effectiveness of generating test cases with symbolic execution for a significant class of industrial safety critical-systems. We specifically focus on Scade, a largely adopted model-based development language for safety-critical embedded software, and we report on a case study in which we exploited symbolic execution to automatically generate test cases for a set of safety-critical programs developed in Scade. To this end, we introduce a novel test generator that we developed in a recent industrial project on testing safety-critical railway software written in Scade, and we report on our experience of using this test generator for testing a set of Scade programs that belong to the development of an on-board signaling unit for high-speed rail. The results provide empirically evidence that symbolic execution is indeed a viable approach for generating high-quality test suites for the safety-critical programs considered in our case study

    Design for Testability for Highly Reconfigurable Component-Based Systems

    Get PDF
    Abstract Highly-reconfigurable component-based systems, i.e., systems that are built form existing components and are distributed in many versions and configurations, are becoming increasingly popular. The design and verification of such systems presents new challenges. In this paper we propose a design approach that facilitates analysis and testing of different configurations by identifying and tracking relations among requirements, logic components and resources. The approach proposed in the paper allows for easily identifying different dependencies among resources, components and requirements and thus spotting the tests that must be re-executed to assure the desired level of quality

    Advances in Meniscal Tissue Engineering

    Get PDF
    Meniscal tears are the most common knee injuries and have a poor ability of healing. In the last few decades, several techniques have been increasingly used to optimize meniscal healing. Current research efforts of tissue engineering try to combine cell-based therapy, growth factors, gene therapy, and reabsorbable scaffolds to promote healing of meniscal defects. Preliminary studies did not allow to draw definitive conclusions on the use of these techniques for routine management of meniscal lesions. We performed a review of the available literature on current techniques of tissue engineering for the management of meniscal tears

    Biological Strategies to Enhance Healing of the Avascular Area of the Meniscus

    Get PDF
    Meniscal injuries in the vascularized peripheral part of the meniscus have a better healing potential than tears in the central avascular zone because meniscal healing principally depends on its vascular supply. Several biological strategies have been proposed to enhance healing of the avascular area of the meniscus: abrasion therapy, fibrin clot, organ culture, cell therapy, and applications of growth factors. However, data are too heterogeneous to achieve definitive conclusions on the use of these techniques for routine management of meniscal lesions. Although most preclinical and clinical studies are very promising, they are still at an experimental stage. More prospective randomised controlled trials are needed to compare the different techniques for clinical results, applicability, and cost-effectiveness

    The role of noise on the steady state distributions of phytoplankton populations

    Get PDF
    The spatio-temporal behaviour of total chlorophyll concentration is investigated in the middle of the Tyrrhenian Sea by using a stochastic approach. The study is based on a reaction-diffusion-taxis model, which is used to analyse the dynamics of five phytoplankton groups, responsible for about 80% of the total chlorophyll a inside the euphotic zone of the water column. The analysis is performed by considering: (i) the intraspecific competition of the phytoplanktonic groups for limiting factors, i.e. light intensity and nutrient concentration, (ii) the seasonal changes of environmental variables, and (iii) the random fluctuations of the components of the velocity field and temperature. Specifically, we investigate the effects of external perturbations, both deterministic and random, on the dynamics of phytoplankton populations, by inserting a term of multiplicative noise into the differential equation of the nutrient dynamics. The theoretical results of the phytoplankton abundances obtained by the stochastic model are converted in chlorophyll a concentrations, and compared with the experimental findings. The statistical checks, based on the chi-square test, show that the vertical distributions of total chlorophyll concentration are in a good agreement with the experimental data. Finally, we observe that the high intensity of environmental noise strongly modifies the steady spatial distributions of two phytoplankton groups usually localized in deeper layers, causing algal blooms in surface water
    corecore